/*
	VerbDamageNoun.h
	(c)1999 Palestar, Richard Lyle
*/

#ifndef VERB_DAMAGE_NOUN_H
#define VERB_DAMAGE_NOUN_H

#include "NounShip.h"
#include "World/Verb.h"
#include "GameDll.h"
#include "Network/NetworkTypes.h"

//-------------------------------------------------------------------------------

class DLL VerbDamageNoun : public Verb
{
public:
	DECLARE_WIDGET_CLASS();
	DECLARE_PROPERTY_LIST();

	// Construction
	VerbDamageNoun();
	VerbDamageNoun( Noun * pTarget, Noun * pFrom, int damage, byte type, const Vector3 & direction );

	// Verb Interface
	Priority				priority() const;	// priority of this verb
	Scope					scope() const;
	bool					client() const;		// is this a client verb, meaning okay to receive from a client
	bool					queue() const;

	void					onExecute();

	// Data
	Noun::wRef				m_pFrom;
	int						m_Damage;
	byte					m_Type;
	BitVector3<8,-1,1>		m_Direction;
};

//----------------------------------------------------------------------------



#endif

//----------------------------------------------------------------------------
// EOF
